import tensorflow as tf

FLAGS = tf.flags.FLAGS
tf.flags.DEFINE_string('log_message', '新数据','message about this debug')

tf.flags.DEFINE_bool('is_BeamSearch', True, 'if use BeamSearch in prediction')
tf.flags.DEFINE_bool('is_cut', True, 'is or not cut with jieba')
tf.flags.DEFINE_bool('is_rewrite_map', True, '是否重新写map')
tf.flags.DEFINE_bool('is_inference', False , 'inference or train')

tf.flags.DEFINE_bool('is_restore', False, 'restore or init parameters')
tf.flags.DEFINE_bool('is_attention', True, 'use attention or not')
tf.flags.DEFINE_bool('is_reverse_data', True, 'use reversed input and target')

tf.flags.DEFINE_integer('embedding_size', 200, 'embedding size')
tf.flags.DEFINE_integer('hidden_size', 256, 'hidden units num')
tf.flags.DEFINE_integer('beam_width', 1, 'beam width of beam search')
tf.flags.DEFINE_integer('batch_size', 5, 'batch size')
tf.flags.DEFINE_integer('attention_units', 256, 'size of attention units')
tf.flags.DEFINE_float('lr', 0.0001, 'learning rate')

tf.flags.DEFINE_string('sentence_name','sentence_3l_nocut.txt','sentence')
tf.flags.DEFINE_string('label_name', 'label_3l_nocut.txt', 'label')
tf.flags.DEFINE_string('map_name', 'maps_3l_nocut.pkl', 'dict map')


class configer():

    lr = FLAGS.lr

    is_BeamSearch = FLAGS.is_BeamSearch

    is_attention = FLAGS.is_attention
    attention_units = FLAGS.attention_units
    is_inference = FLAGS.is_inference
    if is_inference:
        batch_size = 1
        is_restore = True
        is_rewrite_map = False
    else:
        batch_size = FLAGS.batch_size
        is_restore = FLAGS.is_restore
        is_rewrite_map = FLAGS.is_rewrite_map

    log_message = FLAGS.log_message
    beam_width = FLAGS.beam_width
    is_cut = FLAGS.is_cut
    is_reverse_data = FLAGS.is_reverse_data

    sentence_name = FLAGS.sentence_name
    label_name = FLAGS.label_name
    map_name = FLAGS.map_name
